<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>天气案例-监视简写形式</title>
  <script src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        <h3>今天天气真{{info}}</h3>
        <button @click="isHot = ! isHot">切换</button>
    </div>
    <script type='text/javascript'>
        const vm = new Vue({
            el:'#root',
            data:{
               isHot:true,
            },
            methods:{
              changeWeather(){
                  //  if(this.isHot){
                  //     this.isHot = false
                  //  }else{
                  //     this.isHot = true
                  //  }

                  //(1)以后以上代码 直接用下面取反用在语句中
                  this.isHot = ! this.isHot
               }
            },
            computed:{
               info(){
                  return this.isHot ? '炎热' : '寒冷'
               }
            },
            watch:{
              
            /**
             * (1)简写形式必须要默认没有其他配置属性(immediate、deep)，只有handler函数
             * (2)那么这个简写的内容就是hander函数的内容，和计算属性一样
             * */ 
               isHot(newValue,oldValue){
                   console.log('数据被修改了',newValue,oldValue);
               }
            }
        })
        
        // (3)记住任何Vue管理的函数都不要用箭头函数，因为这和this的指向有关
        vm.$watch('info',function(newValue,oldValue){
            console.log('数据被修改了',newValue,oldValue);
        })
    </script>
</body>
</html>